From cfaa4214337c3cb529ba2f415f5581e0ca44de66 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 14 Oct 2015 17:21:25 +0200 Subject: [PATCH] texthandle: Fix Y positioning of text handles It is assumed that border.top is the same than pointing_to.height (which equals the strong cursor position), which is not since some time ago. The border calculation has been move on top too, it is now used in the Y position one, and doesn't depend on anything we calculate later. --- gtk/gtktexthandle.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gtk/gtktexthandle.c b/gtk/gtktexthandle.c index 83348874b5..d5745665b5 100644 --- a/gtk/gtktexthandle.c +++ b/gtk/gtktexthandle.c @@ -391,14 +391,17 @@ _gtk_text_handle_update (GtkTextHandle *handle, _gtk_text_handle_ensure_widget (handle, pos); _gtk_text_handle_get_size (handle, &width, &height); - rect.x = handle_window->pointing_to.x; - rect.y = handle_window->pointing_to.y; - rect.width = width; - rect.height = 0; + border->top = height; + border->bottom = height; border->left = width; border->right = width; + rect.x = handle_window->pointing_to.x; + rect.y = handle_window->pointing_to.y + handle_window->pointing_to.height - handle_window->border.top; + rect.width = width; + rect.height = 0; + _handle_update_child_visible (handle, pos); window = gtk_widget_get_parent (handle_window->widget); @@ -414,9 +417,6 @@ _gtk_text_handle_update (GtkTextHandle *handle, handle_window->dir != GTK_TEXT_DIR_RTL)) rect.x -= rect.width; - border->top = height; - border->bottom = height; - /* The goal is to make the window 3 times as wide and high. The handle * will be rendered in the center, making the rest an invisible border. * If we hit the edge of the toplevel, we shrink the border to avoid -- 2.30.2